package org.NooLab.randomgraph.storage;

import java.io.Serializable;
import java.util.ArrayList;


/**
 * 
 * 
 * 
 *
 */
public class RGraphFingerPrint implements Serializable{

	private static final long serialVersionUID = -3534997307822054861L;
	
	Long   wordid = -1L;
	String guid   = "" ;    // some external GUID  
	String rawlabel = "";   // ** the word as string  
	String storlabel= "";   /* the symbolic location of a word in a SomStore; this will change dynamically!
    							 any word is stored as a compound label that consists 
    							 from the label (or hash) and its storlabel;
    							 fixed length must be set to "_blank" initially for compatibility 
	 							*/
	String compoundlabel = ""; // the unique compound label **
	Integer length = -1;
	String ngram3  = ""; // 
	Long hashkey1, hashkey2, hashkey3;
	Integer usedhash = 0;  /* 1..3 , helpful for determining similarity of shape;
    									this we need to create random fingerprints, which are
    									more similar to each other than by random */
	String fingerprint="";  
	ArrayList<Double> profile = new ArrayList<Double>();
	
	// ------------------------------------------------------------------------
	public RGraphFingerPrint(){
		
	}
	// ------------------------------------------------------------------------

	public Long getWordid() {
		return wordid;
	}

	public void setWordid(Long wordid) {
		this.wordid = wordid;
	}

	public String getGuid() {
		return guid;
	}

	public void setGuid(String guid) {
		this.guid = guid;
	}

	public String getRawlabel() {
		return rawlabel;
	}

	public void setRawlabel(String rawlabel) {
		this.rawlabel = rawlabel;
	}

	public String getStorlabel() {
		return storlabel;
	}

	public void setStorlabel(String storlabel) {
		this.storlabel = storlabel;
	}

	public String getCompoundlabel() {
		return compoundlabel;
	}

	public void setCompoundlabel(String compoundlabel) {
		this.compoundlabel = compoundlabel;
	}

	public Integer getLength() {
		return length;
	}

	public void setLength(Integer length) {
		this.length = length;
	}

	public String getNgram3() {
		return ngram3;
	}

	public void setNgram3(String ngram3) {
		this.ngram3 = ngram3;
	}

	public Long getHashkey1() {
		return hashkey1;
	}

	public void setHashkey1(Long hashkey1) {
		this.hashkey1 = hashkey1;
	}

	public Long getHashkey2() {
		return hashkey2;
	}

	public void setHashkey2(Long hashkey2) {
		this.hashkey2 = hashkey2;
	}

	public Long getHashkey3() {
		return hashkey3;
	}

	public void setHashkey3(Long hashkey3) {
		this.hashkey3 = hashkey3;
	}

	public Integer getUsedhash() {
		return usedhash;
	}

	public void setUsedhash(Integer usedhash) {
		this.usedhash = usedhash;
	}

	public String getFingerprints() {
		return fingerprint ;
	}

	public void setFingerprint(String profileAsString) {
		this.fingerprint = profileAsString;
	}

	public ArrayList<Double> getProfile() {
		return profile;
	}

	public void setProfile(ArrayList<Double> profile) {
		this.profile = profile;
	}
	
	
}
